システム表およびレプリケーション表
TimesTenは、データ・ストアのコンテンツに関する情報(メタデータ)をデータ・ストア内の表に格納します。この章では、関連データを提供するシステム表のすべてのフィールドについて説明します。システム表の一部のフィールドにはシステム情報のみが含まれ、関連データは提供されないものもあります。このようなフィールドについては、この章では説明しません。
アプリケーションは、他の表と同様にシステム表を読み取ることができますが、直接システム表を更新できるのはTimesTenのみです。アプリケーションがいずれかのシステム表と同じ名前の表を持つ場合は、システム表の名前の前にSYSを付けることによって、アプリケーションはシステム表にアクセスします。たとえば、SELECT * FROM SYS.TABLESは、TABLESシステム表を検索することを意味します。レプリケーション表を識別する場合は、名前の前にTTREPを付けます。
システム表を使用するうえでの注意事項は、次のとおりです。
- ユーザーがシステム表をロックすると、他のユーザーがデータを定義したり、ODBC関数SQLPrepareまたはJDBCメソッドConnection.prepareStatementを実行できなくなります。
- 明示的に指定しないかぎり、システム表列ではNULL値が許可されません。
- 名前列内の最後の文字は常に空白です。このため、名前列の列長は31ですが、オブジェクト名の最大長は30になります。
- 64-bitシステムでは、TimesTenシステム表は特定のフィールドをデータ型BigIntとして宣言します。これらの列をODBCプログラムで検索する場合、アプリケーションはSQL_C_BINARYを使用して列をバインドする必要があります。SQL_C_BINARYの詳細は、『Microsoft ODBC 2.0 Programmer's Reference and SDK Guide』を参照してください。
注意: 一部の表には、SYSnumberという名前の列が含まれます。これらの列にはTimesTenで内部的に使用される列が含まれるため、この章では説明しません。